package com.cke.yang.storage.domain.entity;

import com.cke.yang.common.domain.model.ActionModel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 存储服务-存储源
 * </p>
 *
 * @author yang.yu
 * @since 2025-07-20
 */
@TableName("stg_source")
@Setter
@Getter
public class StgSource extends ActionModel<StgSource> {

    private static final long serialVersionUID = 1L;

	/**
	 * 存储源唯一ID
	 */
	@TableId(type = IdType.AUTO, value="source_id")
	private Long sourceId;

	/**
	 * 存储类型
	 */
	@TableField(value="source_type")
	private String sourceType;

	/**
	 * 存储源编码
	 */
	@TableField(value="source_code")
	private String sourceCode;

	/**
	 * 存储源名称
	 */
	@TableField(value="source_name")
	private String sourceName;

	/**
	 * 存储源状态
	 */
	@TableField(value="source_status")
	private String sourceStatus;

	/**
	 * 访问端点
	 */
	private String endpoint;

	/**
	 * 存储桶名称
	 */
	@TableField(value="bucket_name")
	private String bucketName;

	/**
	 * 基础存储路径
	 */
	@TableField(value="base_path")
	private String basePath;

	/**
	 * 区域
	 */
	@TableField(value = "region")
	private String region;

	/**
	 * 访问密钥id
	 */
	@TableField(value="secret_id")
	private Long secretId;

	/**
	 * 是否公开访问（0/1）
	 */
	@TableField(value="is_public")
	private Integer isPublic;

	/**
	 * 是否启用（0/1）
	 */
	@TableField(value="is_enabled")
	private Integer isEnabled;

	/**
	 * 是否默认（0/1）
	 */
	@TableField(value="is_default")
	private Integer isDefault;

	/**
	 * 存储源所有者
	 */
	@TableField(value="source_owner")
	private Long sourceOwner;

}
